home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / C / LIB / DESK / CORE / Desk / h / Debug < prev    next >
Text File  |  1996-08-23  |  3KB  |  90 lines

  1.  
  2. #ifndef __Desk_Debug_h
  3. #define __Desk_Debug_h
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #include <stdio.h>
  8. #include <stdarg.h>
  9. #ifndef __Desk_Core_h
  10. #include "Desk.Core.h"
  11. #endif
  12. typedef void (*Desk_debug_signalhandlerfn)(int sig, void *reference);
  13. #if !defined(Desk_DEBUG) && !defined(Desk__making_Debug)
  14. #define Desk_Debug_Initialise()
  15. #define Desk_Debug_InitialiseSignal()
  16. #define Desk_Debug_ClaimSignal(fn, reference)
  17. #define Desk_Debug_ReleaseSignal()
  18. #define Desk_Debug_Finalise()
  19. #define Desk_Debug_Assert(expression)
  20. #define Desk_Debug_Error_CheckFatal(errfn) Desk_Error_CheckFatal(errfn)
  21. #define Desk_Debug_Print(text)
  22. #define Desk_Debug_DumpRegistersToFile()
  23. #define Desk_Debug_SetNestingIndentation(indentstring)
  24. #define Desk_Debug_DescribeError2(error)
  25. #define Desk_Debug_SetLevel(level)
  26. #define Desk_Debug_BackTrace()
  27. #define Desk_Debug_PrintMemory(start, size)
  28. #define Desk_Debug_Printf Desk_Debug_Dummyf
  29. #define Desk_Debug1_Printf Desk_Debug_Dummyf
  30. #define Desk_Debug2_Printf Desk_Debug_Dummyf
  31. #define Desk_Debug3_Printf Desk_Debug_Dummyf
  32. #define Desk_Debug4_Printf Desk_Debug_Dummyf
  33. #define Desk_Debug5_Printf Desk_Debug_Dummyf
  34. #define Desk_Debug_VPrintf Desk_Debug_Dummyf
  35. #define Desk_Debug1_VPrintf Desk_Debug_Dummyf
  36. #define Desk_Debug2_VPrintf Desk_Debug_Dummyf
  37. #define Desk_Debug3_VPrintf Desk_Debug_Dummyf
  38. #define Desk_Debug4_VPrintf Desk_Debug_Dummyf
  39. #define Desk_Debug5_VPrintf Desk_Debug_Dummyf
  40. #else
  41. void Desk_Debug_Initialise(void);
  42. void Desk_Debug_Finalise(void);
  43. void Desk_Debug_InitialiseSignal(void);
  44. void Desk_Debug_ClaimSignal(Desk_debug_signalhandlerfn fn, void *reference);
  45. void Desk_Debug_ReleaseSignal(void);
  46. int Desk_Debug_Printf(const char *format, ...);
  47. int Desk_Debug_VPrintf(const char *format, va_list va);
  48. void Desk_Debug_Print(const char *text);
  49. void Desk_Debug_DumpRegistersToFile(void);
  50. void Desk_Debug_SetNestingIndentation(const char* prefix);
  51. struct Desk_error2_block;
  52. void Desk_Debug_DescribeError2(const struct Desk_error2_block* error);
  53. #define Desk_Debug_SetLevel(level) Desk_debug_level = (level)
  54. int Desk_Debug_PrintfRef(void* reference, const char *format, ...);
  55. void Desk_Debug_BackTrace(void);
  56. #define Desk_Debug_Error_CheckFatal(errfn) \
  57. do { \
  58. Desk_os_error *Desk_debug__e = errfn; \
  59. if (Desk_debug__e) { \
  60. Desk_Error_ReportFatal(\
  61. Desk_debug__e->errnum, \
  62. Desk_error_PLACE "%s", \
  63. Desk_debug__e->errmess \
  64. ); \
  65. } \
  66. } \
  67. while (0)
  68. void Desk_Debug__Assert(const char *expression, const char *sourcefile, int line);
  69. void Desk_Debug_PrintMemory(void* start, int size);
  70. #define Desk_Debug_Assert(expression) \
  71. (\
  72. (expression) \
  73. ? \
  74. (void) 0 \
  75. : \
  76. Desk_Debug__Assert(#expression, __FILE__, __LINE__) \
  77. )
  78. #define Desk_Debug1_Printf (Desk_debug_level<1) ? 0 : Desk_Debug_Printf
  79. #define Desk_Debug2_Printf (Desk_debug_level<2) ? 0 : Desk_Debug_Printf
  80. #define Desk_Debug3_Printf (Desk_debug_level<3) ? 0 : Desk_Debug_Printf
  81. #define Desk_Debug4_Printf (Desk_debug_level<4) ? 0 : Desk_Debug_Printf
  82. #define Desk_Debug5_Printf (Desk_debug_level<5) ? 0 : Desk_Debug_Printf
  83. #endif
  84. #define Desk_Debug_Dummyf (Desk_bool_TRUE) ? 0 : printf
  85. extern int Desk_debug_level;
  86. #ifdef __cplusplus
  87. }
  88. #endif
  89. #endif
  90.